Coded light refers to techniques whereby data is modulated into the light emitted by a light source, such as an LED-based light source. In this way the data may be said to be embedded into the light from the light source. For instance, data may be modulated into the illumination emitted by a luminaire such as an LED-based luminaire. Thus in addition to providing illumination to illuminate the environment (for which purpose a light source may already be present in the environment), the light source also acts as a transmitter capable of transmitting data to a suitable receiver of coded light. The modulation is typically performed at a high enough frequency that, despite the illumination being in the visible spectrum, the modulation is imperceptible to human vision. I.e. so the user only perceives the overall illumination and not the effect of the data being modulated into that illumination.
Data is modulated into the light by means of a technique such as amplitude keying or frequency shift keying, whereby the modulated property (e.g. amplitude or frequency) is used to represent channel symbols. The modulation typically involves a coding scheme to map data bits (sometimes referred to as user bits) onto such channel symbols. An example is a conventional Manchester code, which is a binary code whereby a user bit of value 0 is mapped onto a channel symbol in the form of a low-high pulse and a user bit of value 1 is mapped onto a channel symbol in the form of a high-low pulse. Another example is the recently developed ternary Manchester code.
There are a number of known techniques for detecting and decoding coded light at the receive side. For example, coded light can be detected using an everyday ‘rolling shutter’ type camera, as is often integrated into a mobile device like a mobile phone or tablet. In a rolling-shutter camera, the camera's image capture element is divided into a plurality of lines (typically horizontal lines, i.e. rows) which are exposed in sequence line-by-line. That is, to capture a given frame, first one line is exposed to the light in the target environment, then the next line in the sequence is exposed at a slightly later time, and so forth. Typically the sequence ‘rolls’ in order across the frame, e.g. in rows top to bottom, hence the name ‘rolling shutter’. When used to capture coded light, this means different lines within a frame capture the light at different times and therefore, if the line rate is high enough relative to the modulation frequency, at different phases of the modulation waveform. Thus the modulation in the light can be detected. Coded light can also be detected by using a global shutter camera if the frame rate is high enough relative to the modulation frequency, or using a dedicated photocell with suitable sample rate.
A luminaire that supports transmission of coded light signals can enable many applications of interest.
For example, the data embedded in the illumination emitted by a light source may comprise an identifier of that light source. This identifier can then be detected by a remote control unit, and used to identify the light source in order to control it remotely via a back channel such as an RF back channel. E.g. the remote control unit may take the form of a smartphone or tablet running a remote control application (or “app”), in which case the light sensor may be the built-in camera of the device. The app detects the identifier using the camera, and then uses this to address the light source via an RF access technology such as Wi-Fi, ZigBee or Bluetooth.
In another example, the identifier can be used for navigation, or to provide other location-based information or functionality. This is achieved by providing a mapping between the identifier of the light source and a known location of the light source, and/or other information associated with the location. In this case a device such as a mobile phone or tablet which receives the light (e.g. through a built-in camera) can detect the embedded identifier and use it to look up the corresponding location and/or other information mapped to the identifier (e.g. in a location database accessed over a network such as the Internet). The purpose of looking up the location of the device could be to help the user of the device navigate, e.g. to find his or her way throughout a large building or complex such as a hospital; and/or to determine whether the device is entitled to access some location-based service such as the ability to control the lighting in a particular room. Or in the case of mapping other information to the identifier, this could be used to look up information relevant to the location in which the light source is deployed, such as to look up information about a museum exhibit in a certain room or zone of the museum.
In yet further applications, information other than just an identifier can be directly encoded into the light (as opposed to being looked up based on an ID embedded in the light). Thus coded light can be used as an alternative (or supplement) to radio-based means of broadcasting any arbitrary data content that might be desired for the application in question.
Thus coded light has the capacity to be beneficial in a variety of different scenarios for a variety of different purposes. However, one difficulty with coded light is that it can be susceptible to inter-symbol interference.